package com.wande.dataplatform.etl.executor;

import com.wande.dataplatform.domain.EtlTask;

/**
 * ETL执行器接口
 *
 * @author dataplatform
 */
public interface IEtlExecutor {

    /**
     * 执行ETL任务
     *
     * @param task ETL任务
     * @return 实例ID
     */
    Long execute(EtlTask task);

    /**
     * 停止ETL任务
     *
     * @param instanceId 实例ID
     */
    void stop(Long instanceId);

    /**
     * 获取执行进度
     *
     * @param instanceId 实例ID
     * @return 执行进度
     */
    EtlProgress getProgress(Long instanceId);
}
